/* Increased specificity to override theme defaults */
pre {
  position: relative;
}

.hljs.hljs {
  background-color: #fbfbfb;
  padding: 1em;
  overflow-x: visible;
  white-space: pre-wrap;
  border-left: 0;
  /* base 20px + header height */
  margin: 54px 0 20px;
  box-shadow: 0px 0 rgba(50, 51, 48, 0.07), 0px 0 rgba(50, 51, 48, 0.07);
}

.hljs::before {
  content: "";
  background: #ececec;
  color: #404040;
  display: block;
  font-size: 11px;
  font-weight: bold;
  height: 34px;
  line-height: 34px;
  padding: 0 10px;
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  z-index: 1;
}

.hljs::after {
}

/* CSS needs to be listed first so that others can overwrite */
.hljs.language-css::before {
  content: "CSS";
}

.hljs.language-diff::before {
  content: "Diff";
}

.hljs.language-js::before,
.hljs.language-javascript::before {
  content: "JavaScript";
}

.hljs.language-jsx::before {
  content: "JSX";
}

.hljs.language-json::before {
  content: "JSON";
}

.hljs.language-sh::before,
.hljs.language-shell::before,
.hljs.language-bash::before {
  content: "Shell";
}

.hljs.language-ts::before {
  content: "TypeScript";
}

.hljs.language-html::before {
  content: "HTML";
}

.hljs.language-yaml::before {
  content: "YAML";
}

.hljs.language-swift::before {
  content: "Swift";
}

.hljs.language-objective_c::before {
  content: "Objective-C";
}

.hljs.language-ruby::before {
  content: "Ruby";
}
/*
Darcula color scheme from the JetBrains family of IDEs
*/

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #2b2b2b;
}

/* .hljs {
  color: #bababa;
} */

.hljs-strong,
.hljs-emphasis {
  color: #a8a8a2;
}

.hljs-bullet,
.hljs-quote,
.hljs-link,
.hljs-number,
.hljs-regexp,
.hljs-literal {
  color: #6896ba;
}

.hljs-code,
.hljs-selector-class {
  color: #a6e22e;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-section,
.hljs-attribute,
.hljs-name,
.hljs-variable {
  color: #cb7832;
}

.hljs-params {
  color: #b9b9b9;
}

.hljs-string {
  color: #6a8759;
}

.hljs-subst,
.hljs-type,
.hljs-built_in,
.hljs-builtin-name,
.hljs-symbol,
.hljs-selector-id,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-template-tag,
.hljs-template-variable,
.hljs-addition {
  color: #e0c46c;
}

.hljs-comment,
.hljs-deletion,
.hljs-meta {
  color: #7f7f7f;
}

pre .btn-icon {
  position: absolute;
  top: -34px;
  z-index: 2;
  cursor: pointer;
  border: 1px solid transparent;
  padding: 0;
  color: #2b2b2b;
  background-color: transparent;
  height: 34px;
  transition: all .25s ease-out;
}

pre .btn-icon:hover {
  color: #000;
  text-decoration: none;
}

.btn-icon__body {
  align-items: center;
  display: flex;
}

.btn-icon svg {
  fill: currentColor;
  margin-right: .4em;
}

.btn-icon__label {
  font-size: 11px;
}

.btn-open-in-repl {
  right: 75px;
}

.btn-clipboard {
  right: 10px;
}